#ifndef _BUOLA_CV_CORIENTEDCHAMFER_H
#define _BUOLA_CV_CORIENTEDCHAMFER_H

#include <buola/image/format.h>

namespace buola { namespace cvi {

class COrientedChamfer
{
public:
    COrientedChamfer(const img::CView_gray8 &pIm);

    float GetDistance(const CPoint_d &pP,int pOri);
    CPoint_i GetClosest(const CPoint_i &pP,int pOri);
    
    const img::CImage_gray8 &EdgesImage(int pOri)   {   return mEdgesImage[pOri];   }
    
private:
    img::CImage_gray8 mEdgesImage[8];
    img::CImage_gray32f mDistImage[8];
    img::CImage_xy32s mOriImage[8];
};

/*namespace cvi*/ } /*namespace buola*/ }

#endif
